The Internet is a communication system that interconnects the world. The internet has been structured to provide connectivity to billions of users with laptops, notebooks, desktops, TV sets, cellular phones, smartphones, wearable devices and tablets. FIG. 1 shows the Internet 1-1 connecting a plurality of Mobile Client Devices 1-6 comprising Mobile Client Device 1 1-7, Mobile Client Device 2 1-8 to Mobile Client Device N 1-9. Mobile Client Devices include smartphones, cellphones, wearable devices, and tablets. The Internet also connects to a plurality of Websites 1-10 comprising Website 1 1-11, Website 2 1-12 to Website N 1-13, a plurality of Servers 1-18 comprising Server 1-19, Server 2 1-20 to Sever N 1-21. Also connected to the Internet is a Search Engine 1-2, which includes Spider Software 1-3 and Crawler Software 1-4 to search the plurality of Websites 1-10, find, such Websites and the Pages contained in them, and Ranking Result 1-5 software to “rank” the search result to allow an end user to search the Internet. Examples of Search Engines are Google and Bing. Also connected to the Internet is an Application Store 1-14, which contains a plurality of Mobile Applications comprising Mobile Applications 1 1-15, Mobile Application 2 1-16 to Mobile Application N 1-17. End users desiring one of such Mobile Applications, can connect their Mobile Client Device to the Application Store and download the desired Mobile Application onto their Mobile Client Device for their use. There is an Application Store for every mobile platform. Examples of Application Stores are the Apple Application Store serving Mobile Applications for iPhone and iPad, and the Android Market Application Store serving Mobile Applications for devices running the Android Operating System.
FIG. 2 shows that a Mobile Client Device 2-1 which consists of a Hardware 2-2, comprising a Processor 2-5, to Memory 2-7, a Communication Link 2-9, a Screen 2-10, a Keypad 2-6 and other hardware components (not shown), and a Software 2-4, comprising an Operating System 2-3, and a plurality of Mobile Applications comprising Mobile Application 1 1-15, Mobile Application 2 1-16, to Mobile Application N 1-17. The connection of the Mobile Client Device 2-1 to the Internet 1-1 is wireless, and can be cellular, WiFi, Bluetooth, WiMax, etc. The plurality of Mobile Applications can be downloaded to the Mobile Client Device 2-1 via the Internet 1-1 from the Application Store 1-14. When a Mobile Application in the plurality of Mobile Applications is downloaded to the Mobile Client Device, it runs on the Operating System 2-3 of the Mobile Client Device.
FIG. 3A and FIG. 3B present two different types of Mobile Application. FIG. 3A shows a Native Mobile Application and how it relates to the layered stacks of the hardware/software representation of a Mobile Client Device 2-1. The Native Mobile Application 3-1 is an executable which runs directly on the operating system 2-3 of the Mobile Client Device 2-1, which in turn runs on the hardware 2-2. The operating system 2-3 provides a set of system libraries 3-3, which the Native Mobile Application uses. The Native Mobile Application is compiled to run on the operating system of the client device. The Native Mobile Application needs to be downloaded to the client device and installed on the client device in order to run on the client device. The Native Mobile Application 3-1 executable is compiled specifically for the Operating System 2-3 on which it is running, and thus a first Mobile Client Device running a first Operating System would require a different executable to be downloaded for a second Mobile Client Device running a second Operating System. The Native Mobile Application 3-1 executable is downloaded from the Application Store 1-14.
FIG. 3B shows a Non-Native Mobile Application and how it relates to the layered stacks of the hardware/software representation of a Mobile Client Device 2-1a. The Non-Native Mobile Application 3-1h does not run directly on the operating system 2-3h of the client device, but instead uses a web browser 3-5 installed on the Mobile Client Device in order to run. The Non-Native Mobile Application 3-1h is written in a programming language that is understood by the web browser running on the Mobile Client Device. The most common example of such a language is HTML5. The web browser running on the Mobile Client Device contains an HTML5 Parser 3-4 that is used to interpret the code of the Non-Native Mobile Application 3-1h. The Non-Native Mobile Application 3-1h does not depend on the Mobile Client Device 2-1a since it does not run directly on the Operating System 2-3h but instead uses the web browser 3-5 running on the Mobile Client Device 2-1a. The Non-Native Mobile Application 3-1h can run on any Mobile Client Device 2-1a that runs a web browser 3-5 capable of understanding the language which the Non-Native Mobile Application is written in. The web browser 3-5 may depend on the Mobile Client Device 2-1a, but the Non-Native Mobile Application does not depend on the client device.
FIG. 4 illustrates the search process of a Search Engine 1-2 searching the Internet 1-1. The Search Engine 1-2 uses its Spider Software 1-3 and Crawler Software 1-4 to search the billions of Websites connected to the Internet 1-1 and the content that they contain, and offer an end user the capability of searching the Internet for content associated to one or more keywords. The Search Engine uses proprietary Ranking Results 1-5 software to “rank” all Websites that are found by the Spider Software 1-3 and Crawler Software 1-4 according to a certain search criteria. A Website 4-1 connected to the Internet 1-1 consists of a plurality of Webpages comprising Webpage 1 4-2, Webpage 2 4-3 to Webpage N 4-4. Each Webpage in such plurality of Webpages contains a plurality of Content. For example, Webpage 1 4-2 contains Content 1 4-7, Content 2 4-6 to Content N 4-5; Webpage 2 4-3 contains Content 1a 4-7a, Content 2a 4-6a to Content Na 4-5a; Webpage 3 4-4 contains Content 1b 4-7b, Content 2b 4-6b to Content Nb 4-5b. The Search Engine 1-2 is able to “find” the Website 4-1, “find” the Content, categorize such Content according to a certain search criteria, and “rank” it relatively to other Content from other Websites for that search criteria. When an end user uses the Search Engine to search for relevant Content with a certain search criteria, the Search Engine is able to provide a list of links to Webpages throughout the Internet 1-1 containing Content relevant, to the desired search criteria. The relevant Content is presented to the end user in a Search Result, which is a list of links to content sorted in terms of “Relevancy” to the desired search criteria. More relevant Content is displayed on top of the list; less relevant Content is displayed on the bottom of the list. Website designers and administrators use certain techniques to emphasize the relevancy of their Content, so it appears at the top of the list in the Search Result. These techniques are called “Search Engine Optimization” techniques.